/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package supervision.library;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import system.general.Exc;
import system.general.Logged;
import system.general.Persistencia;

/**
 *
 * @author gilberto-CIDITIC
 */
@ManagedBean(name = "library_questions")
@ViewScoped
public class Respuestas {

    Logged logged;
    public List[] Pregunta = new List[25];
    private Persistencia persistencia = new Persistencia();
    private String sql = "";
    private int id_solicitud_sede = 0;
    public String Pregobserva[] = new String[25];
    public String preg14 = " ";

    public Respuestas() {
    }

    private void load() {
        try {
            clear();
            ResultSet rsts;
            List respuestas = new LinkedList();
            sql = " select idl_pregunta,idl_respuesta,observacion from public.v_supervision_biblioteca where =" + this.id_solicitud_sede + " ";

            rsts = persistencia.executeRsts(sql);

            int temp = 0;

            while (rsts.next()) {
                int pregunta = rsts.getInt("idl_pregunta");
                int respuesta = rsts.getInt("idl_respuesta");
                String codigo = rsts.getString("codigo");
                String valor = codigo + String.valueOf(respuesta);
                if (temp != pregunta && temp != 0) {
                    Pregunta[pregunta] = respuestas;
                    respuestas.clear();
                }
                respuestas.add(valor);
                temp = pregunta;
            }


            while (rsts.next()) {
                int pregunta = rsts.getInt("idl_pregunta");
                int respuesta = rsts.getInt("idl_respuesta");
                String observacion = rsts.getString("observacion");
                this.Pregobserva[pregunta] = observacion;
                //    String codigo = rsts.getString("codigo");
                String valor = pregunta + String.valueOf(respuesta);
                if (temp != pregunta && temp != 0) {
                    this.Pregunta[pregunta] = respuestas;
                    respuestas.clear();
                }
                respuestas.add(valor);
                temp = pregunta;
            }
            persistencia.dbDisconnect();
        } catch (SQLException ex) {
        } catch (Exception ex) {
        }
    }

    private List cargarRespuestas(int id_pregunta) throws Exc, SQLException, Exception {
        ResultSet rsts;

        int i = 0;
        List respuestas = new LinkedList();
        /*
         * sql = "select case when idl_pregunta < 10 then '0' || idl_pregunta
         * ELSE '' || idl_pregunta END AS codigo, idl_pregunta,
         * idl_respuesta,observacion " + "from public.v_evaluacion_programa
         * where id_solicitud=" + this.id_solicitud + " AND idl_pregunta = " +
         * id_pregunta + " ORDER BY idl_pregunta, idl_respuesta ";
         */
        sql = "SELECT CASE WHEN idl_pregunta < 10 then '0'|| idl_pregunta ELSE '' || idl_pregunta END AS codigo, idl_pregunta, idl_respuesta,observacion "
                + "FROM public.v_supervision_biblioteca "
                + " WHERE id_solicitud_sede="
                + this.id_solicitud_sede + " ORDER BY idl_pregunta, idl_respuesta ";



        rsts = persistencia.executeRsts(sql);
        // preguntaObs[0]="";

        while (rsts.next()) {
            i += 1;
            String valor = null, obs;

            //           Integer pregunta = rsts.getInt("idl_pregunta");

            //           Integer pregunta = rsts.getInt("idl_pregunta");

            int respuesta = rsts.getInt("idl_respuesta");

            int pregunta = Integer.parseInt(rsts.getString("codigo"));
            obs = rsts.getString("observacion");
            if (i <= 9) {
                valor = String.valueOf("0" + respuesta);
            } else {
                if (i == 14) {
                    preg14 = String.valueOf(respuesta);
                } else {
                    valor = String.valueOf(respuesta);
                }
            }

            if (obs != null) {

                Pregobserva[pregunta] = obs;
            }
            respuestas.add(valor);
            //  this.Pregunta[i] = respuestas;
        }
        persistencia.dbDisconnect();
        return respuestas;
    }

    public void cargarTodasRespuestas(int id_solicitud_sede) throws Exc, SQLException, Exception {

        this.id_solicitud_sede = id_solicitud_sede;
        for (int i = 1; i < Pregunta.length; i++) {
            this.Pregunta[i] = this.cargarRespuestas(id_solicitud_sede);
        }

    }

    public void clear() {
        for (int i = 1; i < this.getPregunta().length; i++) {
            this.getPregunta()[i] = new LinkedList();
        }
    }

    public void setPregunta1(List Respuesta) {
        this.getPregunta()[1] = Respuesta;
    }

    public List getPregunta1() {
        return this.getPregunta()[1];
    }

    public void setPregunta2(List Respuesta) {
        this.getPregunta()[2] = Respuesta;
    }

    public List getPregunta2() {
        return this.getPregunta()[2];
    }

    public void setPregunta3(List Respuesta) {
        this.getPregunta()[3] = Respuesta;
    }

    public List getPregunta3() {
        return this.getPregunta()[3];
    }

    public void setPregunta4(List Respuesta) {
        this.getPregunta()[4] = Respuesta;
    }

    public List getPregunta4() {
        return this.getPregunta()[4];
    }

    public void setPregunta5(List Respuesta) {
        this.getPregunta()[5] = Respuesta;
    }

    public List getPregunta5() {
        return this.getPregunta()[5];
    }

    public void setPregunta6(List Respuesta) {
        this.getPregunta()[6] = Respuesta;
    }

    public List getPregunta6() {
        return this.getPregunta()[6];
    }

    public void setPregunta7(List Respuesta) {
        this.getPregunta()[7] = Respuesta;
    }

    public List getPregunta7() {
        return this.getPregunta()[7];
    }

    public void setPregunta8(List Respuesta) {
        this.getPregunta()[8] = Respuesta;
    }

    public List getPregunta8() {
        return this.getPregunta()[8];
    }

    public void setPregunta9(List Respuesta) {
        this.getPregunta()[9] = Respuesta;
    }

    public List getPregunta9() {
        return this.getPregunta()[9];
    }

    public void setPregunta10(List Respuesta) {
        this.getPregunta()[10] = Respuesta;
    }

    public List getPregunta10() {
        return this.getPregunta()[10];
    }

    public void setPregunta11(List Respuesta) {
        this.getPregunta()[11] = Respuesta;
    }

    public List getPregunta11() {
        return this.getPregunta()[11];
    }

    public void setPregunta12(List Respuesta) {
        this.getPregunta()[12] = Respuesta;
    }

    public List getPregunta12() {
        return this.getPregunta()[12];
    }

    public void setPregunta13(List Respuesta) {
        this.getPregunta()[13] = Respuesta;
    }

    public List getPregunta13() {
        return this.getPregunta()[13];
    }

    public void setPregunta15(List Respuesta) {
        this.getPregunta()[15] = Respuesta;
    }

    public List getPregunta15() {
        return this.getPregunta()[15];
    }

    public void setPregunta16(List Respuesta) {
        this.getPregunta()[16] = Respuesta;
    }

    public List getPregunta16() {
        return this.getPregunta()[16];
    }

    public void setPregunta17(List Respuesta) {
        this.getPregunta()[17] = Respuesta;
    }

    public List getPregunta17() {
        return this.getPregunta()[17];
    }

    public void setPregunta18(List Respuesta) {
        this.getPregunta()[18] = Respuesta;
    }

    public List getPregunta18() {
        return this.getPregunta()[18];
    }

    public void setPregunta19(List Respuesta) {
        this.getPregunta()[19] = Respuesta;
    }

    public List getPregunta19() {
        return this.getPregunta()[19];
    }

    public void setPregunta20(List Respuesta) {
        this.getPregunta()[20] = Respuesta;
    }

    public List getPregunta20() {
        return this.getPregunta()[20];
    }

    public void setPregunta21(List Respuesta) {
        this.getPregunta()[21] = Respuesta;
    }

    public List getPregunta21() {
        return this.getPregunta()[21];
    }

    public void setPregunta22(List Respuesta) {
        this.getPregunta()[22] = Respuesta;
    }

    public List getPregunta22() {
        return this.getPregunta()[22];
    }

    public void setPregunta23(List Respuesta) {
        this.getPregunta()[23] = Respuesta;
    }

    public List getPregunta23() {
        return this.getPregunta()[23];
    }

    public void setPregunta24(List Respuesta) {
        this.getPregunta()[24] = Respuesta;
    }

    public List getPregunta24() {
        return this.getPregunta()[24];
    }

    public List[] getPregunta() {
        return Pregunta;
    }

    public void setPregunta(List[] Pregunta) {
        this.Pregunta = Pregunta;
    }

    public void setPregunta1Obs(String dato) {
        Pregobserva[1] = dato;
    }

    public String getPregunta1Obs() {
        return Pregobserva[1];
    }

    public void setPregunta2Obs(String dato) {
        Pregobserva[2] = dato;
    }

    public String getPregunta2Obs() {
        return Pregobserva[2];
    }

    public void setPregunta3Obs(String dato) {
        Pregobserva[3] = dato;
    }

    public String getPregunta3Obs() {
        return Pregobserva[3];
    }

    public void setPregunta4Obs(String dato) {
        Pregobserva[4] = dato;
    }

    public String getPregunta4Obs() {
        return Pregobserva[4];
    }

    public void setPregunta5Obs(String dato) {
        Pregobserva[5] = dato;
    }

    public String getPregunta5Obs() {
        return Pregobserva[5];
    }

    public void setPregunta6Obs(String dato) {
        Pregobserva[6] = dato;
    }

    public String getPregunta6Obs() {
        return Pregobserva[6];
    }

    public void setPregunta7Obs(String dato) {
        Pregobserva[7] = dato;
    }

    public String getPregunta7Obs() {
        return Pregobserva[7];
    }

    public void setPregunta8Obs(String dato) {
        Pregobserva[8] = dato;
    }

    public String getPregunta8Obs() {
        return Pregobserva[8];
    }

    public void setPregunta9Obs(String dato) {
        Pregobserva[9] = dato;
    }

    public String getPregunta9Obs() {
        return Pregobserva[9];
    }

    public void setPregunta10Obs(String dato) {
        Pregobserva[10] = dato;
    }

    public String getPregunta10Obs() {
        return Pregobserva[10];
    }

    public void setPregunta11Obs(String dato) {
        Pregobserva[11] = dato;
    }

    public String getPregunta11Obs() {
        return Pregobserva[11];
    }

    public void setPregunta12Obs(String dato) {
        Pregobserva[12] = dato;
    }

    public String getPregunta12Obs() {
        return Pregobserva[12];
    }

    public void setPregunta13Obs(String dato) {
        Pregobserva[13] = dato;
    }

    public String getPregunta13Obs() {
        return Pregobserva[13];
    }

    public void setPregunta14(String dato) {
        preg14 = dato;
    }

    public String getPregunta14() {
        return preg14;
    }

    public void setPregunta15Obs(String dato) {
        Pregobserva[15] = dato;
    }

    public String getPregunta15Obs() {
        return Pregobserva[15];
    }

    public void setPregunta16Obs(String dato) {
        Pregobserva[16] = dato;
    }

    public String getPregunta16Obs() {
        return Pregobserva[16];
    }

    public void setPregunta17Obs(String dato) {
        Pregobserva[17] = dato;
    }

    public String getPregunta17Obs() {
        return Pregobserva[17];
    }

    public void setPregunta18Obs(String dato) {
        Pregobserva[18] = dato;
    }

    public String getPregunta18Obs() {
        return Pregobserva[18];
    }

    public void setPregunta19Obs(String dato) {
        Pregobserva[19] = dato;
    }

    public String getPregunta19Obs() {
        return Pregobserva[19];
    }

    public void setPregunta20Obs(String dato) {
        Pregobserva[20] = dato;
    }

    public String getPregunta20Obs() {
        return Pregobserva[20];
    }

    public void setPregunta21Obs(String dato) {
        Pregobserva[21] = dato;
    }

    public String getPregunta21Obs() {
        return Pregobserva[21];
    }

    public void setPregunta22Obs(String dato) {
        Pregobserva[22] = dato;
    }

    public String getPregunta22Obs() {
        return Pregobserva[22];
    }

    public void setPregunta23Obs(String dato) {
        Pregobserva[23] = dato;
    }

    public String getPregunta23Obs() {
        return Pregobserva[23];
    }

    public void setPregunta24Obs(String dato) {
        Pregobserva[24] = dato;
    }

    public String getPregunta24Obs() {
        return Pregobserva[24];
    }
}
